Graphical user interfaces have become an increasingly common feature of computers, and in particular of personal computers. User interfaces may allow a user to access stored or retrieved information in various ways.
One method is to provide, on request, a list of all the topics or files available for use. These topics or files may be listed in a certain order, e.g., alphabetical order. The user can then select which topic or file the user desires to access. Another method is to provide a list of topics or files that meet the requirements of the user. The user can then browse through each topic or file.
However, both methods suffer from the same drawbacks. Most programs tend to display the stored or retrieved information in a "linear" manner, as shown in FIG. 1. In other words, all the retrieved information is scrolled. In these arrangements, the speed at which a user can review data is limited because the scrolling speed reaches a point at which the text blurs and the user cannot read the text as it passes by. On the other hand, if the scrolling speed is too slow, it will be time consuming to browse each piece of information. Finally, most programs do not allow the user to control the scrolling speed.
Another problem with the linear approach is that the user is unable to maintain an awareness of his or her location within the database. Additionally, the user must then revert to "find functions" and deductive thinking to find a specific piece of information.
These problems were partially addressed with graphical user interfaces such as the Windows program by Microsoft Corporation. FIG. 2 shows a two-dimensional card file where each card 20 has desired information. Each card has a masthead 21 that provides some information as to the content of the card. The user can only browse the contents of the card if he or she clicks on the desired card. However, if too many cards exist in the file, the user will only see the cards shown. Thus, the user must then revert to "find functions" and deductive thinking to find a specific piece of information.
Additionally, because the user cannot browse through the cards not shown without inputing several commands or repetitively pressing switches on the mouse, the user may be apt to suffer of repetitive strain injury.
As shown in FIG. 2, the user can only read the contents of the fore card since the other cards are completely covered, except for the masthead 21. This forces the user to browse the information on the cards one card at a time, making browsing each piece of information a time consuming process.
Additionally, the size of the cards and the font size of the contents are not adjustable. Therefore, a visually impaired user may not be able to read the contents of the card.
Finally, for all these methods, a user will be required to input keyboard-based commands. However, a handicapped person with only partial movement or an arthritic person may not be able to type the required commands on the keyboard.
It is thus an object of the invention to provide a graphical user interface that portrays the desired information in a non-linear manner to better enable the user to retain the information.
It is also an object of the invention to provide a graphical user interface where the user can control the scrolling, or passing, speed of the information.
It is a further object of the invention to provide a graphical user interface that enables the user to better maintain an awareness of his or her location within the database.
It is also an object of the invention to provide a graphical user interface that enables the user to quickly find the desired piece of information.
It is a further object of the invention to provide a graphical user interface that does not require repetitive pressures on a keyboard or mouse to find the desired piece of information.
It is also an object of the invention to provide a graphical user interface that enables the user to adjust the size of the displayed information.
It is a further object to the invention to provide a graphical user interface that does not require the user to type commands on a keyboard.